/*
    同步、异步、简单文件的写入都不合适大文件的写入，性能较差，容易导致内存溢出

    流式文件：
        1. 创建一个可写流
            fs.createWriteStream(path[, options])
                - path: 文件路径
                - option: 配置的参数
        2. 通过可写流向文件中输出内容
        3. 关闭流

        可以通过监听流的open和close事件监听流的打开和关闭
 */

// 导入fs模块
var fs = require("fs");

// 创建一个可写流
var ws = fs.createWriteStream("hello.txt");

// 可以通过监听流的open和close事件监听流的打开和关闭
/*
    on(事件字符串，回调函数)
        - 可以为对象绑定一个事件

    once(事件字符串，回调函数)
        - 可以为对象绑定一个一次性的事件，该事件将会在触发一次后自动失效
 */
ws.once("open", function (){
    console.log("流打开了");
});

ws.once("close", function (){
    console.log("流关闭了");
});

// 通过可写流向文件中输出内容
ws.write("过可写流向文件中输出内容\n");
ws.write("过可写流向文件中输出内容\n");
ws.write("过可写流向文件中输出内容\n");

// 关闭流
ws.end();















